// 导入 9个顶级分类
import { topCategory } from '@/network/constants'
import { findAllCategory } from '@/network/category'

// 分类模块
// Layout 中获取分类数据 vuex 共享给组件
export default {
	namespaced: true,
	state() {
		return {
			// 分类信息
			// 默认9个顶级分类  topCategory 初始化就有分类数据
			list: topCategory.map(item => ({ /* id: '', */ name: item })),
		}
	},
	// 修改分类数据  payLoad==>[{},{},{}]
	mutations: {
		setList(state, payLoad) {
			state.list = payLoad
		},
		//  控制 当前(父子 都是 item.id--layer) 二级分类显示弹出层的 属性  list[{},{},{}]
		//  [id, isOpen]
		setOpen(state, payLoad) {
			const currCategory = state.list.find(item => item.id === payLoad[0])
			currCategory.open = payLoad[1]
		},
	},
	// 异步获取分类数据
	actions: {
		async getList({ commit }) {
			const data = await findAllCategory()
			// 给每一个分类添加 控制二级分类显示弹出层的 属性
			data.result.map(item => (item.open = false))
			// 将获取到的数据放入到state中
			commit('setList', data.result)
		},
	},
}
